home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / frontpage.nasl < prev    next >
Text File  |  2005-01-14  |  5KB  |  135 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6. # Modified by John Lampe...j_lampe@bellsouth.net to add "open service" call and
  7. # add 2 more files to look for
  8.  
  9. if(description)
  10. {
  11.  script_id(10077);
  12.  script_version ("$Revision: 1.31 $");
  13.  script_cve_id("CAN-2000-0114");
  14.  name["english"] = "Microsoft Frontpage exploits";
  15.  name["francais"] = "Exploits Microsoft Frontpage";
  16.  script_name(english:name["english"], francais:name["francais"]);
  17.  
  18.  desc["english"] = "
  19. The remote web server appears to be running with the Frontpage extensions.
  20. Frontpage allows remote web developers and administrators to modify web
  21. content from a remote location.  While this is a fairly typical scenario
  22. on an internal Local Area Network, the Frontpage extensions should not
  23. be available to anonymous users via the Internet (or any other untrusted
  24. 3rd party network).
  25.  
  26. You should double check the configuration since a lot of security problems 
  27. have been found with FrontPage when the configuration file is not well set up.
  28.  
  29. Risk factor : High if your configuration file is not well set up";
  30.  
  31.  desc["francais"] = "
  32. Le serveur web distant semble tourner avec
  33. des extensions Frontpage.
  34.  
  35. Vous devriez vΘrifier votre configuration puisque
  36. de nombreux problΦmes de sΘcuritΘ sont liΘs a la mauvaise
  37. configuration de ces extensions.
  38.  
  39. Facteur de risque : ElevΘ si votre fichier de configuration
  40. n'est pas bien fait";
  41.  
  42.  
  43.  script_description(english:desc["english"], francais:desc["francais"]);
  44.  
  45.  summary["english"] = "Checks for the presence of Microsoft Frontpage extensions";
  46.  summary["francais"] = "VΘrifie la prΘsence des extensions Frontpage";
  47.  script_summary(english:summary["english"], francais:summary["francais"]);
  48.  
  49.  script_category(ACT_GATHER_INFO);
  50.  
  51.  
  52.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  53.                 francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  54.  family["english"] = "CGI abuses";
  55.  family["francais"] = "Abus de CGI";
  56.  script_family(english:family["english"], francais:family["francais"]);
  57.  script_dependencie("find_service.nes", "http_version.nasl");
  58.  script_require_ports("Services/www", 80);
  59.  exit(0);
  60. }
  61.  
  62. #
  63. # The script code starts here
  64. #
  65.  
  66. include("http_func.inc");
  67. include("http_keepalive.inc");
  68.  
  69. port = get_http_port(default:80);
  70.  
  71. req = string("POST /_vti_bin/shtml.dll/_vti_rpc HTTP/1.0\r\n");
  72. req = req + string("Connection: Keep-Alive\r\nDate: Mon, 23 Mar 2003 00:00:15 GMT\r\n");
  73. req = req + string("Accept: */*\r\nHost: ", get_host_ip(),"\r\n","User-Agent: MSFrontPage/4.0\r\n");
  74. req = req + string("Content-Length: 58\r\nContent-Type: application/x-www-form-urlencoded\r\n");
  75. req = req + string("MIME-Version: 1.0\r\nX-Vermeer-Content-Type: application/x-www-form-urlencoded\r\n\r\n");
  76. req = req + string("method=open+service%3a3%2e0%2e2%2e1105&service%5fname=%2f\r\n");
  77. soc = open_sock_tcp(port);
  78. if (soc) {
  79.     send(socket:soc, data:req);
  80.         r = http_recv(socket:soc);
  81.         if(!egrep(pattern:"^<li>msg=The user '\(unknown\)'", string:r) &&
  82.        egrep(pattern:".*x-vermeer-rpc*", string:r)) {
  83.              startofmsg = strstr(r , "method=");
  84.              startofmsg = startofmsg + 1;
  85.              myreport = string("The remote frontpage server may leak information on the anonymous user\r\n");
  86.              myreport += string("By knowing the name of the anonymous user, more sophisticated attacks may be launched\r\n");
  87.              myreport += string("Check the following data for any potential leaks:\r\n\r\n",startofmsg,"\r\n\r\n");
  88.              set_kb_item(name:"www/frontpage", value:TRUE);
  89.              security_warning(port:port, data:myreport);
  90.         }
  91.         close(soc);
  92. }
  93.  
  94.  
  95.  
  96.  
  97. file[0] = "/_vti_bin/_vti_adm/admin.dll";
  98. file[1] = "/_vti_bin/_vti_aut/author.dll";
  99. file[2] = "/_vti_bin/shtml.exe/_vti_rpc";
  100. flag = 1;
  101.  
  102. for (i=0; file[i]; i = i + 1) {
  103.     flag = is_cgi_installed_ka(item:file[i], port:port);
  104.     if(get_port_state(port)  && flag)
  105.     {
  106.         soc = open_sock_tcp(port);
  107.         if(soc)
  108.         {
  109.             name = string("www/no404/", port);
  110.             no404 = get_kb_item(name);
  111.             str = http_post(item:file[i], port:port);
  112.             send(socket:soc, data:str);
  113.             buf = recv_line(socket:soc, length:1024);
  114.             content = http_recv(socket:soc);
  115.             buf = tolower(buf);
  116.             close(soc);
  117.             if(("http/1.1 200" >< buf)||("http/1.0 200" >< buf))
  118.             {
  119.                 if(no404)
  120.                 {
  121.                     no404 = tolower(no404);
  122.                     if(no404 >< content)exit(0);
  123.                 }
  124.                 security_warning(port);
  125.                 set_kb_item(name:"www/frontpage", value:TRUE);
  126.         exit(0);
  127.             }
  128.          }
  129.     }
  130.         flag = 1;
  131. }
  132.  
  133.  
  134.  
  135.